fix(platform): polish logo/favicon upload button hover and feedback (#1961)#2113
fix(platform): polish logo/favicon upload button hover and feedback (#1961)#2113larryro wants to merge 3 commits into
Conversation
Desk Review — NOT READY (changes required)CI: ✅ all required checks green (Build, Lint, Format, Type check, Knip, Unit, UI, Browser, Migrations, Storybook, SAST/Opengrep, CodeQL, all 16 Playwright platform shards + web/docs). Skipped jobs are fork-PR only; Trivy is The styling/feedback polish is well done — hover/focus-visible/active/drag states, valid design tokens ( 🚫 Blocking — missing test for the new drag-and-drop behaviorThis PR adds genuinely new interactive logic with branches but no test exercises any of it:
There is no This fails the repo's own DoD:
The new To clear: add Non-blocking polish (optional)
Verdict: NOT READY — add the drag-and-drop component test (the single gating item); the polish notes are optional. |
Add image-upload-field.test.tsx exercising the new drag-and-drop logic (valid image dropped, drop ignored while uploading, non-image rejected) plus an axe accessibility audit. The audit surfaced an unlabeled hidden file input, now fixed with aria-label. Also applies the reviewer's optional polish: pointer-events-none on the preview/Plus children to stop drag-highlight flicker, clear isDragging when an upload starts, align drop acceptance with the <input accept> extension list, and tidy focus-ring/overlay tokens.
Desk Review — PR #2113 · fix(platform): polish logo/favicon upload button hover and feedback (#1961)Verdict: NOT READY — CHANGES REQUIRED (one blocking test gap; everything else is sound) Branch CI state
TestsRan the project's own suite once, locally, from What's verified good
BLOCKING — must fix
Recommended (non-blocking)
NOT READY — CHANGES REQUIRED
|
Desk review — #1961 logo/favicon upload polishVerdict: READY TO MERGE. CI is fully green and the change meets both acceptance criteria. Verification
Implementation quality
Non-blocking observations (optional follow-ups, not required to merge)
None of these block merge. |
Summary
Polishes the logo/favicon upload control in branding settings (
image-upload-field.tsx) to give it visible interaction feedback and align it with the design system. Resolves #1961.Changes
hover:border-border-strong hover:bg-bg-elevated), a visible focus ring (focus-visible:ring-1 focus-visible:ring-ringwith offset) matching theButtonprimitive, and anactive:scale-[0.97]press, allmotion-reduce-safe.+icon brightens on hover.uploadFilehelper; dropped non-image files are ignored.WithImageStorybook story demonstrating the populated/hover state.Verification
tsc --noEmit(platform) — greenoxlinton the touched files — 0 warnings, 0 errorsoxfmt --check— formattedbranding-form,branding-preview) — 21 passedNo new user-facing strings or schema changes (interaction-only polish;
aria-labels unchanged).